package cn.appsys.dao.dev.appinfo;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import cn.appsys.pojo.AppInfo;

/**
 * 
 * @author Administrator
 *
 */
public interface AppInfoMapper {

	
	/**
	 * 按条件获取总记录数
	 * @return
	 */
	Integer getAppInfoCount(@Param("softwareName")String softwareName,
			@Param("status")Integer status,
			@Param("flatformId")Integer flatformId,
			@Param("categoryLevel1")Integer categoryLevel1,
			@Param("categoryLevel2")Integer categoryLevel2,
			@Param("categoryLevel3")Integer categoryLevel3);
	
	
	/**
	 * 按条件分页查询APP信息列表
	 * @param 软件名称
	 * @param 状态
	 * @param 所在平台
	 * @param 一级分类
	 * @param 二级分类
	 * @param 三级分类
	 * @return
	 */
	List<AppInfo> getAppInfoList(@Param("softwareName")String softwareName,
							@Param("status")Integer status,
							@Param("flatformId")Integer flatformId,
							@Param("categoryLevel1")Integer categoryLevel1,
							@Param("categoryLevel2")Integer categoryLevel2,
							@Param("categoryLevel3")Integer categoryLevel3,
							@Param("currentNo")Integer currentNo,
							@Param("rowPageNo")Integer rowPageNo);
	
	/**
	 * 查看APP信息
	 * @return
	 */
	AppInfo queryappinfoview(Integer id);
	
	
	/**
	 * 判断apk名称是否存在
	 * @return
	 */
	AppInfo getAppInfo(AppInfo appinfo);
	
	/**
	 * 新增操作
	 * @param appinfo
	 * @return
	 */
	int addAppInfo(AppInfo appinfo);
	
	/**
	 * 删除图片
	 * @param id
	 * @return
	 */
	int delfile(AppInfo appinfo);
	
	/**
	 * 修改操作
	 * @return
	 */
	int appinfoModify(AppInfo appinfo);
	
	/**
	 * 删除app信息
	 * @return
	 */
	int delapp(Integer id);
	
	/**
	 * 删除app信息下的所有版本
	 * @return
	 */
	int delappversion(Integer id);
	
	/**
	 * 上架操作
	 * @return
	 */
	int saleSwitchPgUp(Integer id);

	/**
	 * 下架操作
	 * @return
	 */
	int saleSwitchPgDn(Integer id);
}
